function resolveConfig(d) {
  if (!d.ui) {
    d.ui = {}
  }
}

/**
 * wrap fields 使用zfields
 * @param args
 */
export function wrapFields({props = [], def = {}, ui = {}} = {}) {
  let entries = Object.entries(def)

  let wrap_start_tags = [['z-fields', props]]
  let wrap_end_tags = ['z-fields']

  // console.log(ui)

  if (Array.isArray(entries)) {
    let f = ZY.lodash.nth(entries, 0)
    let l = ZY.lodash.last(entries)
    if (f && l) {
      resolveConfig(f[1])
      if (!f[1].ui.wrap_start_tags) {
        f[1].ui.wrap_start_tags = []
      }
      // f[1].ui.wrap_start_tags = ['z-fields']
      // f[1].ui.wrap_start_tag_props = props
      f[1].ui.wrap_start_tags = wrap_start_tags.concat(f[1].ui.wrap_start_tags)
      f[1].ui.wrap_start_tag_props = props
      resolveConfig(l[1])
      if (ui) {
        f[1].ui = Object.assign(f[1].ui, ui)
      }
      // l[1].ui.wrap_end_tags = ['z-fields']

      if (!l[1].ui.wrap_end_tags) {
        l[1].ui.wrap_end_tags = []
      }
      l[1].ui.wrap_end_tags = l[1].ui.wrap_end_tags.concat(wrap_end_tags)
    }
  }


  return def
}
